package org.su.generalmvc;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.lang.reflect.Method;


/**
 * 传入参数绑定类，控制器方法中的参数类型对应不同的Editor，在执行时自动绑定数据到对象
 * 一种类型只对应一个Editor实例，要注意线程安全
 * @author xkliu
 *
 */
public interface IEditor {

	/**
	 * 取得参数值
	 * @param paramName 参数名称，方法参数的名称
	 * @param writer  写方法，方法参数的类型
	 * @param request  
	 * @param response
	 * @return
	 */
	public Object getParamValue(String paramName, Class<?> paramType, int paramIndex, Method writer, ServletRequest request, ServletResponse response);
	
}
